const SourceData = {
	// 建立jql对象需要的内容
	clientInfo: undefined,
	// 当前请求id
	requestId: '',
	// 当前请求信息
	cloudInfo: {
		provider: 'tencent', 
		spaceId: 'tcb-pttnkkjjczapx5k-4csr7741a3d1', 
		useOldSpaceId: false, 
		functionName: 'a-initial', 
		functionType: 'cloudobject'
	},
	// 外网访问的信息，必要的话，可直接写入数据库
	httpInfo: {
		// HTTP请求路径，如 /hello
		path: '',
		// HTTP请求方法，如 GET
		httpMethod: '',
		// HTTP请求的Query，键值对形式
		queryStringParameters: undefined,
		// HTTP请求体。‘POST’时的参数 - JSON字符串
		body: undefined,
		// true or false，表示body是否为Base64编码
		isBase64Encoded: false,
		// queryStringParameters + body的参数集合
		query: undefined,
	},
	// 当前访问的IP地址
	ip: '',
	// 请求开始的时间戳；结束时间没有意义
	startTime: undefined,
	// 当前云服务空间名称
	spaceName: '',
	// 当前云函数云对象名称
	functionName: '',
	// 当前调用的方法名
	methodName: '',
	// 当前参数列表
	params: undefined,
	/**
	 * 以下可能是云对象才有的内容
	 */
	/**
	 * 当前增删改查操作是否不需要用户信息。
	 * 该值可以在预处理时获取（该获取方法有风险），也可以通过逻辑处理得到
	 * 只有指定了不需要用户信息，才可以继续操作
	 */
	nouserdb: false,
	
	// 一般验证信息
	necessary: {
		// 当前请求Token
		Token: '',
		// 当前使用的用户id
		User: '',
		// 当前用户的会员等级
		Membership: 0,
		// 当前应用类别
		Apply: '', 
		// 是否测试环境。测试环境所有的数据库都将是测试数据库
		Test: false,
		// 是否开发环境。开发环境下有的接口处理会不一样
		Development: false, 
		// 当前项目代码
		Target: '',
		// 当前项目前缀
		Prefix: '',
		// 当前甲方代码
		Partya: '',
		// 当前语言类型
		Language: '',
		// 当前设备ID
		Device: ''
	},
	/**
	 * 具体项目中的请求头信息
	 * 以Cu-开头的，表示子项目中的请求头参数，去除Cu-之后得到
	 */
	header: {
		
	},
	// 请求的初始信息。由于经过云对象的二次请求，这里的信息会变，而不再是原始的用户数据了，所以记录
	initial: undefined,
}

/**
 * 当前请求通过预处理方法需要存储的信息
 */
module.exports = {
	// 原始数据
	SourceData
}